package magchess10.rn.utils;

import magchess10.rn.jogada.Jogada;
import magchess10.rn.jogada.JogadaBase;

public class JogadaUtils {
	private static int getDeltaColuna(JogadaBase p_jogadaAtual) {
		return (p_jogadaAtual.getColunaCasaFinal() - p_jogadaAtual
				.getColunaCasaInicial());
	}

	private static int getDeltaLinha(JogadaBase p_jogadaAtual) {
		return (p_jogadaAtual.getLinhaCasaFinal() - p_jogadaAtual
				.getLinhaCasaInicial());
	}

	public static int getPassoLinha(JogadaBase p_jogadaAtual) {
		return (JogadaUtils.getDeltaLinha(p_jogadaAtual) != 0 ? JogadaUtils
				.getDeltaLinha(p_jogadaAtual)
				/ Math.abs(JogadaUtils.getDeltaLinha(p_jogadaAtual)) : 0);
	}

	public static int getPassoColuna(JogadaBase p_jogadaAtual) {
		return (JogadaUtils.getDeltaColuna(p_jogadaAtual) != 0 ? JogadaUtils
				.getDeltaColuna(p_jogadaAtual)
				/ Math.abs(JogadaUtils.getDeltaColuna(p_jogadaAtual)) : 0);
	}

	public static int getIndiceOponente(int indice) {
		return indice == 0 ? 1 : indice == 1 ? 0 : indice == 2 ? 3
				: indice == 3 ? 2 : -1;
	}

	public static String reiTentandoRoque(JogadaBase jogadaAtual)
			 {
		
		
		if (!jogadaAtual.getNomePeca().equals("Rei"))
			return "";

		int casaFinal = jogadaAtual.getColunaCasaFinal();
		int casaInicial = jogadaAtual.getColunaCasaInicial();
		if (Math.abs(casaFinal - casaInicial) != 2)
			return "";
		return casaInicial == 4 ? casaFinal == 6 ? "PEQUENO" : "GRANDE" :

		casaFinal == 1 ? "PEQUENO" : "GRANDE";

		

	}
}
